package com.weds.custompage.entity.db;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.time.LocalDateTime;

/**
 * <p>
 * 人员基础信息
 * </p>
 *
 * @author lhw
 * @since 2023-09-01
 */
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@TableName("public.sc_user_basic_info")
@ApiModel(value = "ScUserBasicInfoDO对象", description = "人员基础信息")
public class ScUserBasicInfoDO {

    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    @ApiModelProperty("人员id")
    @TableField("user_id")
    private Integer userId;

    @ApiModelProperty("职务id")
    @TableField("duty_id")
    private Integer dutyId;

    @ApiModelProperty("职务名称")
    @TableField("user_duty")
    private String userDuty;

    @ApiModelProperty("MD5密码")
    @TableField("user_password")
    private String userPassword;

    @ApiModelProperty("邮箱")
    @TableField("email")
    private String email;

    @ApiModelProperty("入学（入职）日期")
    @TableField("user_workday")
    private LocalDateTime userWorkday;

    @ApiModelProperty("系统授权使用区间：开始时间")
    @TableField("limit_begin")
    private LocalDateTime limitBegin;

    @ApiModelProperty("系统授权使用区间：截止时间")
    @TableField("limit_end")
    private LocalDateTime limitEnd;

    @ApiModelProperty("转正日期")
    @TableField("user_confirmday")
    private LocalDateTime userConfirmday;

    @ApiModelProperty("离职日期")
    @TableField("user_quitday")
    private LocalDateTime userQuitday;

    @ApiModelProperty("社会工龄")
    @TableField("user_workages")
    private Integer userWorkages;

    @ApiModelProperty("个人资料：民族、学历、籍贯、生日、政治面貌、地址等")
    @TableField("person_info")
    private Object personInfo;

    @ApiModelProperty("第三方关联信息(微信、qq等)")
    @TableField("external_info")
    private Object externalInfo;

    @ApiModelProperty("公司资料： 转正日期、社会工龄、离职类型")
    @TableField("orga_info")
    private Object orgaInfo;

    @ApiModelProperty("汇报对象user_id")
    @TableField("manager_user_id")
    private Integer managerUserId;
}
